

set more off
mat drop _all




use "$path_data/data/temp/attrition_check.dta", clear




*** Test for DT
preserve
gen missing_DT = 0
drop if DT_per_min_pre == .
replace missing_DT = 1 if DT_per_min_pre == .
egen mean_DT_per_min_pre = mean(DT_per_min_pre)
replace DT_per_min_pre = mean_DT_per_min_pre if DT_per_min_pre == .
egen mean_DT_time_pre = mean(DT_time_pre)
replace DT_time_pre = mean_DT_time_pre if DT_time_pre == .
egen mean_DT_score_pre = mean(DT_score_pre)
replace DT_score_pre = mean_DT_score_pre if DT_score_pre == .
drop if DT_per_min_post == .






foreach j in n mean sd {
tabstat DT_per_min_pre DT_score_pre DT_time_pre DT_per_min_post DT_score_post DT_time_post if treatment == 1, stat(`j') save
matrix list r(StatTotal)
matrix `j'_tr1_DT = r(StatTotal)
}

foreach j in n mean sd {
tabstat DT_per_min_pre DT_score_pre DT_time_pre DT_per_min_post DT_score_post DT_time_post if treatment == 0, stat(`j') save
matrix list r(StatTotal)
matrix `j'_ct1_DT = r(StatTotal)
}



matrix n_dif1_DT = J(1,6,.)
forvalues i = 1/6 {
	matrix n_dif1_DT[1,`i'] = n_tr1_DT[1,`i'] + n_ct1_DT[1,`i']
}


matrix mean_dif1_DT = J(1,6,.)
forvalues i = 1/6 {
	matrix mean_dif1_DT[1,`i'] = mean_tr1_DT[1,`i'] - mean_ct1_DT[1,`i']
}


foreach dep in DT_per_min_pre DT_score_pre DT_time_pre DT_per_min_post DT_score_post DT_time_post {
	foreach s in mean se pv obs wpv {
		matrix r1_`dep'_`s' = J(1,2,.)
	}

	reg `dep' treatment, cluster(school_no)
	
	matrix r1_`dep'_temp = r(table)
	matrix r1_`dep'_r1 = e(r2)
	matrix r1_`dep'_obs = e(N)


	foreach j in 1 2 {
	* beta
	matrix r1_`dep'_mean[1,`j'] = r1_`dep'_temp[1,`j']
	* standard error
	matrix r1_`dep'_se[1,`j'] = r1_`dep'_temp[2,`j']
	* p value
	matrix r1_`dep'_pv[1,`j'] = r1_`dep'_temp[4,`j']
	}


	
	
	
	cgmwildboot_2 `dep' treatment, cluster(school_no) bootcluster(school_no) null(0) reps(999) seed(1)
	matrix m1_`dep'_p = e(Pvals)
	matrix m1_`dep'_b = e(b)
	matrix m1_`dep'_v = e(V)
}









restore








*** Test for DT
preserve
gen missing_DT = 0
drop if DT_per_min_pre == .
replace missing_DT = 1 if DT_per_min_pre == .
egen mean_DT_per_min_pre = mean(DT_per_min_pre)
replace DT_per_min_pre = mean_DT_per_min_pre if DT_per_min_pre == .
egen mean_DT_time_pre = mean(DT_time_pre)
replace DT_time_pre = mean_DT_time_pre if DT_time_pre == .
egen mean_DT_score_pre = mean(DT_score_pre)
replace DT_score_pre = mean_DT_score_pre if DT_score_pre == .
drop if DT_per_min_post == .
drop if DT_per_min_pre == .






foreach dep in DT_per_min_pre DT_score_pre DT_time_pre DT_per_min_post DT_score_post DT_time_post {
	foreach s in mean se pv obs wpv {
		matrix r2_`dep'_`s' = J(1,2,.)
	}

	reg `dep' treatment wrongDT, cluster(school_no)
	
	matrix r2_`dep'_temp = r(table)
	matrix r2_`dep'_r1 = e(r2)
	matrix r2_`dep'_obs = e(N)


	foreach j in 1 2 {
	* beta
	matrix r2_`dep'_mean[1,`j'] = r2_`dep'_temp[1,`j']
	* standard error
	matrix r2_`dep'_se[1,`j'] = r2_`dep'_temp[2,`j']
	* p value
	matrix r2_`dep'_pv[1,`j'] = r2_`dep'_temp[4,`j']
	}


	
	
	
	cgmwildboot_2 `dep' treatment wrongDT, cluster(school_no) bootcluster(school_no) null(0 .) reps(999) seed(1)
	matrix m2_`dep'_p = e(Pvals)
	matrix m2_`dep'_b = e(b)
	matrix m2_`dep'_v = e(V)
}









restore






















forvalues j = 1/2 {

foreach dep in DT_per_min_pre DT_score_pre DT_time_pre DT_per_min_post ///
DT_score_post DT_time_post  {


forvalues item = 1/1 {
		forvalues scale = 1/1 {
		if m`j'_`dep'_p[`item', `scale']<=0.01 {
			local s_`j'_`dep'_`item'`scale' %3s "***"
		}
		else if (m`j'_`dep'_p[`item', `scale']>0.01) & (m`j'_`dep'_p[`item', `scale']<=0.05) {
			local s_`j'_`dep'_`item'`scale' %2s "**"
		}
		else if (m`j'_`dep'_p[`item', `scale']>0.05) & (m`j'_`dep'_p[`item', `scale']<=0.10) {
			local s_`j'_`dep'_`item'`scale' %1s "*"
		}
		else {
			local s_`j'_`dep'_`item'`scale'  ""
		}
	} // forvalues `scale' loop

}  // forvalues `item' loop


} // foreach `dep' loop

} // forvalues `j' loop



tempname hh2
file open `hh2' using "$pardir/tableJ2.tex", write replace
file write `hh2' "" _newline
file write `hh2' "% Date: `c(current_date)'" _newline
file write `hh2' "% Time: `c(current_time)'" _newline
file write `hh2' "" _newline


file write `hh2' "\begin{table}[t!]\footnotesize" _newline
file write `hh2' "  \centering" _newline
file write `hh2' "  \caption{Baseline Balance Test Results (ANCOVA Sample) with Wrong DT as Missing}" _newline
file write `hh2' "\label{tab:summary_dt_time_comparison}" _newline
file write `hh2' "\scalebox{0.9}{" _newline
file write `hh2' "\begin{threeparttable}" _newline

file write `hh2' "\begin{tabular}{lcccc}\toprule\midrule" _newline




*file write `hh2' "\cmidrule{2-5} & &&&      \\" _newline



file write `hh2' " \multicolumn{5}{l}{}   \\" _newline

file write `hh2' " \multicolumn{5}{l}{\textbf{Panel A: Balance Test}}   \\\midrule" _newline



file write `hh2' " Dependent Variable & Treatment &  Control  & Coefficient & N   \\\midrule" _newline


file write `hh2' "    DT Score per min\textsuperscript{a}   & " %04.3f (mean_tr1_DT[1,1]) " &   " %04.3f (mean_ct1_DT[1,1]) " & " %04.3f (r1_DT_per_min_pre_mean[1,1]) `s_1_DT_per_min_pre_11' " & " (n_dif1_DT[1,1]) " \\" _newline
file write `hh2' "    									    & [" %04.3f (sd_tr1_DT[1,1]) "] &   [" %04.3f (sd_ct1_DT[1,1]) "] & (" %04.3f (r1_DT_per_min_pre_se[1,1])             ") &                     \\" _newline


file write `hh2' "    DT Score                              & " %04.3f (mean_tr1_DT[1,2]) " &   " %04.3f (mean_ct1_DT[1,2]) " & " %04.3f (r1_DT_score_pre_mean[1,1]) `s_1_DT_score_pre_11' " & " (n_dif1_DT[1,2]) " \\" _newline
file write `hh2' "    									    & [" %04.3f (sd_tr1_DT[1,2]) "] &   [" %04.3f (sd_ct1_DT[1,2]) "] & (" %04.3f (r1_DT_score_pre_se[1,1])             ") &                     \\" _newline


file write `hh2' "    DT Time                               & " %04.3f (mean_tr1_DT[1,3]) " &   " %04.3f (mean_ct1_DT[1,3]) " & " %04.3f (r1_DT_time_pre_mean[1,1]) `s_1_DT_time_pre_11' " & " (n_dif1_DT[1,3]) " \\" _newline
file write `hh2' "    									    & [" %04.3f (sd_tr1_DT[1,3]) "] &   [" %04.3f (sd_ct1_DT[1,3]) "] & (" %04.3f (r1_DT_time_pre_se[1,1])             ") &                     \\\midrule" _newline



file write `hh2' " \multicolumn{5}{l}{}   \\" _newline


file write `hh2' " \multicolumn{5}{l}{\textbf{Panel B: Regression Result with the Dummy for the Wrong DT}}   \\\midrule" _newline

file write `hh2' " Dependent Variable &  &   & Coefficient & N   \\\midrule" _newline



file write `hh2' "    DT Score per min\textsuperscript{a}   &  &   & " %04.3f (r2_DT_per_min_pre_mean[1,1]) `s_2_DT_per_min_pre_11' " & " (r2_DT_per_min_pre_obs[1,1]) " \\" _newline
file write `hh2' "    									    &  &  & (" %04.3f (r2_DT_per_min_pre_se[1,1])             ") &                     \\" _newline


file write `hh2' "    DT Score                              &  &  & " %04.3f (r2_DT_score_pre_mean[1,1]) `s_2_DT_score_pre_11' " & " (r2_DT_score_pre_obs[1,1]) " \\" _newline
file write `hh2' "    									    &  &   & (" %04.3f (r2_DT_score_pre_se[1,1])             ") &                     \\" _newline


file write `hh2' "    DT Time                               &  &   & " %04.3f (r2_DT_time_pre_mean[1,1]) `s_2_DT_time_pre_11' " & " (r2_DT_time_pre_obs[1,1]) " \\" _newline
file write `hh2' "    									    & &   & (" %04.3f (r2_DT_time_pre_se[1,1])             ") &                     \\\midrule \bottomrule" _newline









file write `hh2' "\end{tabular}" _newline
file write `hh2' "\end{threeparttable}" _newline
file write `hh2' "}" _newline
file write `hh2' "\label{tab:addlabel}%" _newline
file write `hh2' "\end{table}" _newline

file write `hh2' "" _newline
file write `hh2' "" _newline
file write `hh2' "" _newline
file write `hh2' "" _newline

file close `hh2'


